package com.scalar.chiptrack.adaptor;

import java.util.ArrayList;


public final class SortLotBinData
{
       
     private String m_product = null;

     private String m_lotId = null;
     private String lotNumber = null;
     private String fablotNumber = null;
	 private String m_program = null;
	 private String m_tester = null;
	 private String m_probeCard = null;
     private String temp = null;
     private String insertion = null;
     private String probeId = null;
     private String lB = null;
     private String dateIn = null;
     private String dateOut = null;
     private String testTime = null;
     private String vendorLot = null;
     private int[] binQty = new int[100];
	 private String m_grossDice = null;
	 private String goodDice = null;
	 private String m_shipSlice = null;
	 private String m_shipDice = null;
	 private String m_shipYield = null;
	 private String m_shipTime = null;
	 private String m_reportTime = null;
	 private String m_vendorName = null;

	 private ArrayList m_waferIdList = null;
	 private ArrayList m_totalList = null;
	 private ArrayList m_averageList = null;
	 private ArrayList m_percentageList = null;
	 private ArrayList m_binList = null;

     private String waferId = null;

    public SortLotBinData()
    {

    }

    public SortLotBinData(String vendorName)
    {
         m_vendorName = vendorName;
    }
    	 public SortLotBinData(String vendorName, String product, String lotId, String program, String tester, String probeCard, String grossDice, String shipSlice, String shipDice, 
					String shipYield, String shipTime, String reportTime, ArrayList waferIdList, ArrayList totalList, ArrayList averageList, 
					ArrayList percentageList, ArrayList binList){

		 m_vendorName = vendorName;
		 m_product = product;
       	 m_lotId = lotId;
	 	 m_program = program;
	 	 m_tester = tester;
	       m_probeCard = probeCard;
	 	 m_grossDice = grossDice;
	 	 m_shipSlice = shipSlice;
	       m_shipDice = shipDice;
	       m_shipYield = shipYield;
	       m_shipTime = shipTime;
	       m_reportTime = reportTime;

	 	 m_waferIdList = waferIdList;
	 	 m_totalList = totalList;
	       m_averageList = averageList;
	       m_percentageList = percentageList;
		 m_binList = binList;
    	 }
	 
	 public String getProduct(){
		return m_product;
	 }
	 public void setProduct( String product){
		m_product = product;
	 }

	 public String getLotId(){
		return m_lotId;
	 }
	 public void setLotId(String lotId){
		m_lotId = lotId;
	 }

	 public String getProgram(){
		return m_program;
	 }
	 public void setProgram(String program){
		m_program = program;
	 }

	 public String getTester(){
		return m_tester;
	 }
	 public void setTester(String tester){
		m_tester = tester;
	 }

	 public String getProbeCard(){
		return m_probeCard;
	 }
	 public void setProbeCard(String probeCard){
		m_probeCard = probeCard;
	 }

	 public String getGrossDice(){
		return m_grossDice;
	 }
	 public void setGrossDice(String grossDice){
		m_grossDice = grossDice;
	 }

	 public String getShipSlice(){
		return m_shipSlice;
	 }
	 public void setShipSlice(String shipSlice){
		m_shipSlice = shipSlice;
	 }

	 public String getShipDice(){
		return m_shipDice;
	 }
	 public void setShipDice(String shipDice){
		m_shipDice = shipDice;
	 }

	 public String getShipYield(){
		return m_shipYield;
	 }
	 public void setShipYield(String shipYield){
		m_shipYield = shipYield;
	 }

	 public String getShipTime(){
		return m_shipTime;
	 }
	 public void setShipTime(String shipTime){
		m_shipTime = shipTime;
	 }

	 public String getReportTime(){
		return m_reportTime;
	 }
	 public void setReportTime(String reportTime){
		m_reportTime = reportTime;
	 }

	 public ArrayList getWaferIdList(){
		return m_waferIdList;
	 }
	 public void setWaferIdList(ArrayList waferIdList){
		m_waferIdList = waferIdList;
	 }

	 public ArrayList getBinList(){
		return m_binList;
	 }
	 public void setBinList(ArrayList binList){
		m_binList = binList;
	 }

	 public ArrayList getTotalList(){
		return m_totalList;
	 }
	 public void setTotalList(ArrayList totalList){
		m_totalList = totalList;
	 }

	 public ArrayList getAverageList(){
		return m_averageList;
	 }
	 public void setAverageList(ArrayList averageList){
		m_averageList = averageList;
	 }

	 public ArrayList getPercentageList(){
		return m_percentageList ;
	 }
	 public void setPercentageList(ArrayList percentageList){
		m_percentageList = percentageList;
	 }

	 public void setVendorName(String vendorName){
		m_vendorName = vendorName;
	 }
	 public String getVendorName(){
		return m_vendorName;
	 }

    public String getLotNumber() {
        return lotNumber;
    }

    public void setLotNumber(String lotNumber) {
        this.lotNumber = lotNumber;
    }

    public String getFablotNumber() {
        return fablotNumber;
    }

    public void setFablotNumber(String fablotNumber) {
        this.fablotNumber = fablotNumber;
    }

    public String getTemp() {
        return temp;
    }

    public void setTemp(String temp) {
        this.temp = temp;
    }

    public String getInsertion() {
        return insertion;
    }

    public void setInsertion(String insertion) {
        this.insertion = insertion;
    }

    public String getProbeId() {
        return probeId;
    }

    public void setProbeId(String probeId) {
        this.probeId = probeId;
    }

    public String getLB() {
        return lB;
    }

    public void setLB(String lB) {
        this.lB = lB;
    }

    public String getDateIn() {
        return dateIn;
    }

    public void setDateIn(String dateIn) {
        this.dateIn = dateIn;
    }

    public int[] getBinQty() {
        return binQty;
    }

    public void setBinQty(int[] binQty) {
        this.binQty = binQty;
    }

    public String getGoodDice() {
        return goodDice;
    }

    public void setGoodDice(String goodDice) {
        this.goodDice = goodDice;
    }

    public String getWaferId() {
        return waferId;
    }

    public void setWaferId(String waferId) {
        this.waferId = waferId;
    }

    public String getDateOut() {
        return dateOut;
    }

    public void setDateOut(String dateOut) {
        this.dateOut = dateOut;
    }

    public String getTestTime() {
        return testTime;
    }

    public void setTestTime(String testTime) {
        this.testTime = testTime;
    }

    public String getVendorLot() {
        return vendorLot;
    }

    public void setVendorLot(String vendorLot) {
        this.vendorLot = vendorLot;
    }

    public String toString(){

		StringBuffer sb = new StringBuffer();
		sb.append("[Lot Id : ] "+m_lotId+"\n");
		sb.append("[Product : ] " +m_product+"\n");
		sb.append("[Program : ] "+m_program+"\n");
		sb.append("[Tester : ] "+ m_tester+"\n");
		sb.append("[Probe Card : ]"+m_probeCard+"\n");
		sb.append("[Gross Dice : ]"+m_grossDice+"\n");
		sb.append("[Ship Slice : ]"+m_shipSlice+"\n");
		sb.append("[Ship Dice :]"+m_shipDice+"\n");
		sb.append("[Ship Yield : ] "+ m_shipYield+"\n");
		sb.append("[Ship Time : ] "+m_shipTime+"\n");
		sb.append("[Report Time : ] "+m_reportTime+"\n");
		sb.append("\n");
		//it = null;
		//it = m_waferIdList.iterator();
		sb.append("Wafer_Id  TestTime GoodDice Yield Bin1 Bin2 Bin3 Bin4 Bin5 Bin6 Bin7 Bin8 Bin9 Bin10 Bin11\n");
		int size = m_waferIdList.size();
		
		for(int i=0; i<size; i++){
			ArrayList temp_it = (ArrayList)m_waferIdList.get(i);
			sb.append((String)temp_it.get(0)+" ");
			sb.append((String)temp_it.get(1)+" ");
			sb.append((String)temp_it.get(2)+" ");
			sb.append((String)temp_it.get(3)+" ");
			sb.append((String)temp_it.get(4)+" ");
			//sb.append((String)temp_it.get(5)+" ");
			ArrayList temp_binList = (ArrayList)m_binList.get(i);
			sb.append((String)temp_binList.get(1)+" ");
			sb.append((String)temp_binList.get(2)+" ");
			sb.append((String)temp_binList.get(3)+" ");
			sb.append((String)temp_binList.get(4)+" ");
			sb.append((String)temp_binList.get(5)+" ");
			sb.append((String)temp_binList.get(6)+" ");
			sb.append((String)temp_binList.get(7)+" ");
			sb.append((String)temp_binList.get(8)+" ");
			sb.append((String)temp_binList.get(9)+" ");
			sb.append((String)temp_binList.get(10)+"\n");
			
			sb.append("\n");
		}

		return sb.toString();
	}
}